name: Ubuntu TON build (portable, x86-64)

on: [push,workflow_dispatch,workflow_call]

jobs:
  build:
    runs-on: ubuntu-22.04

    steps:
    - run: |
        sudo apt update
        sudo apt install -y apt-utils 

    - uses: actions/checkout@v3
      with:
        submodules: 'recursive'

    - uses: cachix/install-nix-action@v23
      with:
        extra_nix_config: |
          access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}

    - name: Build TON
      run: |
        cp assembly/nix/build-linux-x86-64-nix.sh .
        chmod +x build-linux-x86-64-nix.sh
        ./build-linux-x86-64-nix.sh -t

    - name: Simple binaries test
      run: |
        sudo mv /nix/store /nix/store2
        artifacts/validator-engine -V
        artifacts/lite-client -V
        artifacts/fift -V
        artifacts/func -V

    - name: Upload artifacts
      uses: actions/upload-artifact@master
      with:
        name: ton-x86_64-linux-binaries
        path: artifacts
